COVID19png.jpg

importing libraries

In [1]:
import pandas as pd
import numpy as np
import plotly.graph_objects as go
import plotly.express as px

links for covid 19 dataset

In [2]:
covid19_confirmed_cases_link = "time_series_covid19_confirmed_global.csv"
covid19_death_cases_link = "time_series_covid19_deaths_global.csv"
covid19_recovered_cases_link = "time_series_covid19_recovered_global.csv"
covid19_countries_cases_link =  "cases_country.csv"

downloading dataset in respective dataframes

In [3]:
confirmed_df = pd.read_csv(covid19_confirmed_cases_link)
death_df = pd.read_csv(covid19_death_cases_link)
recovered_df = pd.read_csv(covid19_recovered_cases_link)
cases_countries_df  = pd.read_csv(covid19_countries_cases_link)
print(confirmed_df.shape)
print(death_df.shape)
print(recovered_df.shape)
print(cases_countries_df.shape)
(266, 209)
(266, 209)
(253, 209)
(188, 14)

it shows 266 rows and as we can see below their is a column country their so we can simply conclude that each row cannot be a country.

In [4]:
confirmed_df[confirmed_df["Country/Region"] == "Australia"]
Out[4]:
Province/State Country/Region Lat Long 1/22/20 1/23/20 1/24/20 1/25/20 1/26/20 1/27/20 ... 8/4/20 8/5/20 8/6/20 8/7/20 8/8/20 8/9/20 8/10/20 8/11/20 8/12/20 8/13/20
8 Australian Capital Territory Australia -35.4735 149.0124 0 0 0 0 0 0 ... 113 113 113 113 113 113 113 113 113 113
9 New South Wales Australia -33.8688 151.2093 0 0 0 0 3 4 ... 3820 3832 3842 3851 3861 3875 3897 3915 3927 3936
10 Northern Territory Australia -12.4634 130.8456 0 0 0 0 0 0 ... 33 33 33 33 33 33 33 33 33 33
11 Queensland Australia -27.4698 153.0251 0 0 0 0 0 0 ... 1088 1088 1087 1088 1088 1089 1089 1089 1089 1091
12 South Australia Australia -34.9285 138.6007 0 0 0 0 0 0 ... 457 456 459 459 459 459 459 459 459 460
13 Tasmania Australia -42.8821 147.3272 0 0 0 0 0 0 ... 229 229 229 229 229 229 229 230 230 230
14 Victoria Australia -37.8136 144.9631 0 0 0 0 1 1 ... 13035 13469 13867 14283 14659 14957 15251 15646 15863 16234
15 Western Australia Australia -31.9505 115.8605 0 0 0 0 0 0 ... 670 670 642 642 642 642 642 642 644 645

8 rows × 209 columns

so to find out how many diffrent countries are their we want to use nunique function.

In [5]:
confirmed_df["Country/Region"].nunique()
Out[5]:
188

so this data contains 188 diffrent countries .

now as their might be many null values so we are going to imputing data.

In [6]:
confirmed_df = confirmed_df.replace(np.nan, '', regex = True)
death_df = death_df.replace(np.nan, '', regex = True)
recovered_df = recovered_df.replace(np.nan, '', regex = True)
cases_countries_df = cases_countries_df.replace(np.nan, '', regex = True)
In [7]:
confirmed_df
Out[7]:
Province/State Country/Region Lat Long 1/22/20 1/23/20 1/24/20 1/25/20 1/26/20 1/27/20 ... 8/4/20 8/5/20 8/6/20 8/7/20 8/8/20 8/9/20 8/10/20 8/11/20 8/12/20 8/13/20
0 Afghanistan 33.939110 67.709953 0 0 0 0 0 0 ... 36782 36829 36896 37015 37054 37054 37162 37269 37345 37424
1 Albania 41.153300 20.168300 0 0 0 0 0 0 ... 5750 5889 6016 6151 6275 6411 6536 6676 6817 6971
2 Algeria 28.033900 1.659600 0 0 0 0 0 0 ... 32504 33055 33626 34155 34693 35160 35712 36204 36699 37187
3 Andorra 42.506300 1.521800 0 0 0 0 0 0 ... 939 939 944 955 955 955 963 963 977 981
4 Angola -11.202700 17.873900 0 0 0 0 0 0 ... 1344 1395 1483 1538 1572 1672 1679 1735 1762 1815
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
261 West Bank and Gaza 31.952200 35.233200 0 0 0 0 0 0 ... 12770 13065 13398 13722 13928 14208 14510 14875 15184 15491
262 Western Sahara 24.215500 -12.885800 0 0 0 0 0 0 ... 10 10 10 10 10 10 10 10 10 10
263 Yemen 15.552727 48.516388 0 0 0 0 0 0 ... 1760 1763 1768 1796 1797 1804 1832 1831 1841 1847
264 Zambia -13.133897 27.849332 0 0 0 0 0 0 ... 6793 7022 7164 7486 7903 8085 8210 8275 8501 8663
265 Zimbabwe -19.015438 29.154857 0 0 0 0 0 0 ... 4221 4221 4339 4451 4575 4649 4748 4818 4893 4990

266 rows × 209 columns

In [8]:
confirmed_df.columns
Out[8]:
Index(['Province/State', 'Country/Region', 'Lat', 'Long', '1/22/20', '1/23/20',
       '1/24/20', '1/25/20', '1/26/20', '1/27/20',
       ...
       '8/4/20', '8/5/20', '8/6/20', '8/7/20', '8/8/20', '8/9/20', '8/10/20',
       '8/11/20', '8/12/20', '8/13/20'],
      dtype='object', length=209)
In [9]:
cases_countries_df
Out[9]:
Country_Region Last_Update Lat Long_ Confirmed Deaths Recovered Active Incident_Rate People_Tested People_Hospitalized Mortality_Rate UID ISO3
0 Afghanistan 2020-08-14 11:27:27 33.9391 67.71 37431.0 1363.0 26714 9354.0 96.1536 3.641367 4 AFG
1 Albania 2020-08-14 11:27:27 41.1533 20.1683 6971.0 213.0 3616 3142.0 242.234 3.055516 8 ALB
2 Algeria 2020-08-14 11:27:27 28.0339 1.6596 37187.0 1341.0 26004 9842.0 84.803 3.606099 12 DZA
3 Andorra 2020-08-14 11:27:27 42.5063 1.5218 981.0 53.0 858 70.0 1269.66 5.402650 20 AND
4 Angola 2020-08-14 11:27:27 -11.2027 17.8739 1815.0 80.0 577 1158.0 5.52238 4.407713 24 AGO
... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
183 West Bank and Gaza 2020-08-14 11:27:27 31.9522 35.2332 15834.0 106.0 9382 6346.0 310.384 0.669445 275 PSE
184 Western Sahara 2020-08-14 11:27:27 24.2155 -12.8858 10.0 1.0 8 1.0 1.67412 10.000000 732 ESH
185 Yemen 2020-08-14 11:27:27 15.5527 48.5164 1847.0 528.0 949 370.0 6.19259 28.586898 887 YEM
186 Zambia 2020-08-14 11:27:27 -13.1339 27.8493 8663.0 246.0 7401 1016.0 47.1226 2.839663 894 ZMB
187 Zimbabwe 2020-08-14 11:27:27 -19.0154 29.1549 4990.0 128.0 1927 2935.0 33.5735 2.565130 716 ZWE

188 rows × 14 columns

first three are time series data and the fourth one "case_countries_df" is the aggregated data . so , to find out total number of cases we use the fourth_one by adding all the patients whether they are confirmed ,or they dead , or they active or recovered .

In [10]:
global_data = cases_countries_df.copy().drop(['Country_Region', 'Last_Update', 'Lat', 'Long_', 'Incident_Rate', 'People_Tested', 'People_Hospitalized', 'Mortality_Rate', 'UID' , 'ISO3'], axis=1)
global_summary = pd.DataFrame(global_data.sum()).transpose()
global_summary.style.format("{:0.0f}")
Out[10]:
Confirmed Deaths Active
0 20950402 760213 7175587

to get a plot we want the total number of confirmed cases globally.

In [11]:
confirmed_ts = confirmed_df.copy().drop(['Lat', 'Long','Province/State', 'Country/Region'], axis=1)
confirmed_ts_summary = confirmed_ts.sum()
In [12]:
confirmed_ts_summary
Out[12]:
1/22/20         555
1/23/20         654
1/24/20         941
1/25/20        1434
1/26/20        2118
             ...   
8/9/20     19861683
8/10/20    20089624
8/11/20    20344188
8/12/20    20621140
8/13/20    20905891
Length: 205, dtype: int64
In [13]:
fig_1 = go.Figure(data=go.Scatter(x=confirmed_ts_summary.index, y=confirmed_ts_summary.values,mode = 'lines+markers'))
fig_1.update_layout(title='Total confirmed coronavirus cases globally', yaxis_title = 'confirmed_cases', xaxis_tickangle = 300)

fig_1.show()
1/22/201/26/201/30/202/3/202/7/202/11/202/15/202/19/202/23/202/27/203/2/203/6/203/10/203/14/203/18/203/22/203/26/203/30/204/3/204/7/204/11/204/15/204/19/204/23/204/27/205/1/205/5/205/9/205/13/205/17/205/21/205/25/205/29/206/2/206/6/206/10/206/14/206/18/206/22/206/26/206/30/207/4/207/8/207/12/207/16/207/20/207/24/207/28/208/1/208/5/208/9/208/13/2005M10M15M20M
Total confirmed coronavirus cases globallyconfirmed_cases

now as we are going to make the graph for all the four diffrent parameters that is active , recovered , death and confirmed we will make an template function so that it is easy for us and we can use it again and again with color array.

In [14]:
#here we are initializing a color array
color_arr = px.colors.qualitative.Dark24
In [15]:
def draw_plot(ts_array, ts_label, title, colors, mode_size,line_size, x_axis_title, y_axis_title, tickangle = 0, y_axis_type=''):
    #initilalizing figure
    fig = go.Figure()
    #adding all traces
    for index, ts in enumerate(ts_array):
        fig.add_trace(go.Scatter(x=ts.index,
                                 y=ts.values,
                                 name = ts_label[index],
                                 line=dict(color=colors[index], width=line_size[index]),connectgaps = True),)
    
    #base x_axis properties
    x_axis_dict = dict(showline=True,
                       showgrid=True,
                       showticklabels=True,
                       linecolor='rgb(200,200,200)',
                       linewidth=2,
                       ticks='outside',
                       tickfont=dict(family='Arial', size=12, color='rgb(90,90,90)',))
    
    # x_axis parameters
    if x_axis_title:
        x_axis_dict['title'] = x_axis_title
    
    if tickangle > 0:
        x_axis_dict['tickangle'] =tickangle
        
        
    #y_axis properties
    y_axis_dict = dict(showline=True,
                   showgrid=True,
                   showticklabels=True,
                   linecolor='rgb(200,200,200)',
                   linewidth=2,)
    
    #y_axis parameters
    if y_axis_type != "":
        y_axis_dict['type'] = y_axis_type
    
    if y_axis_title:
        y_axis_dict['title'] = y_axis_title
        
        
    #updating the layout
    fig.update_layout(xaxis = x_axis_dict,
                      yaxis = y_axis_dict,
                      autosize=True,
                      margin=dict(autoexpand=True,l=100,r=20, t=110,),
                      showlegend =True,
                     )
    
    #annotations for any basic graph
    annotations = []
    #title
    annotations.append(dict(xref='paper', yref='paper', x=0.0, y= 1.05, xanchor='left', yanchor='bottom',text=title,
                            font=dict(family='Arial' ,size= 16, color='rgb(40,40,40)'),showarrow=False))
    
    
#     #adding annotationsi params
#     if len(additional_annotations) > 0:
#         annotations.append(additional_annotations)
        
#     #updating the layout
#     fig.update_layout(annotations=annotations)
    
    return fig
    
    
    
In [20]:
confirmed_agg_ts  = confirmed_df.copy().drop(['Lat', 'Long','Province/State', 'Country/Region'],axis=1).sum()
death_agg_ts  = death_df.copy().drop(['Lat', 'Long','Province/State', 'Country/Region'],axis=1).sum()
recovered_agg_ts  = recovered_df.copy().drop(['Lat', 'Long','Province/State', 'Country/Region'],axis=1).sum()

#now  as thier is no timeseries data for the active cases  therefore we calculated it simply by list comprehension
active_agg_ts =pd.Series(
                data=np.array(
                [x1-x2-x3 for (x1,x2,x3) in zip(confirmed_agg_ts.values,death_agg_ts.values,recovered_agg_ts.values)]),
                index=confirmed_agg_ts.index)
In [21]:
ts_array = [confirmed_agg_ts, active_agg_ts, recovered_agg_ts, death_agg_ts]
labels = ['Confirmed', 'Active', 'Recovered', 'Deaths']
colors = [color_arr[5], color_arr[0], color_arr[2], color_arr[3]]
mode_size = [8,8,12,8]
line_size = [2,2,4,2]

#now we call the draw_plot function that we defined above
fig_2 = draw_plot(ts_array = ts_array,
                  ts_label = labels,
                  title = "Covid 19 cases status  from 22nd jan to 9 august 2020",
                  colors = colors, mode_size = mode_size,
                  line_size = line_size,
                  x_axis_title = "Date",
                  y_axis_title = "case-count",
                  tickangle = 300,
                  y_axis_type = '')

fig_2.show()
1/22/201/26/201/30/202/3/202/7/202/11/202/15/202/19/202/23/202/27/203/2/203/6/203/10/203/14/203/18/203/22/203/26/203/30/204/3/204/7/204/11/204/15/204/19/204/23/204/27/205/1/205/5/205/9/205/13/205/17/205/21/205/25/205/29/206/2/206/6/206/10/206/14/206/18/206/22/206/26/206/30/207/4/207/8/207/12/207/16/207/20/207/24/207/28/208/1/208/5/208/9/208/13/2005M10M15M20M
ConfirmedActiveRecoveredDeathsDatecase-count
In [18]:
cases_countries_df
Out[18]:
Country_Region Last_Update Lat Long_ Confirmed Deaths Recovered Active Incident_Rate People_Tested People_Hospitalized Mortality_Rate UID ISO3
0 Afghanistan 2020-08-14 11:27:27 33.9391 67.71 37431.0 1363.0 26714 9354.0 96.1536 3.641367 4 AFG
1 Albania 2020-08-14 11:27:27 41.1533 20.1683 6971.0 213.0 3616 3142.0 242.234 3.055516 8 ALB
2 Algeria 2020-08-14 11:27:27 28.0339 1.6596 37187.0 1341.0 26004 9842.0 84.803 3.606099 12 DZA
3 Andorra 2020-08-14 11:27:27 42.5063 1.5218 981.0 53.0 858 70.0 1269.66 5.402650 20 AND
4 Angola 2020-08-14 11:27:27 -11.2027 17.8739 1815.0 80.0 577 1158.0 5.52238 4.407713 24 AGO
... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
183 West Bank and Gaza 2020-08-14 11:27:27 31.9522 35.2332 15834.0 106.0 9382 6346.0 310.384 0.669445 275 PSE
184 Western Sahara 2020-08-14 11:27:27 24.2155 -12.8858 10.0 1.0 8 1.0 1.67412 10.000000 732 ESH
185 Yemen 2020-08-14 11:27:27 15.5527 48.5164 1847.0 528.0 949 370.0 6.19259 28.586898 887 YEM
186 Zambia 2020-08-14 11:27:27 -13.1339 27.8493 8663.0 246.0 7401 1016.0 47.1226 2.839663 894 ZMB
187 Zimbabwe 2020-08-14 11:27:27 -19.0154 29.1549 4990.0 128.0 1927 2935.0 33.5735 2.565130 716 ZWE

188 rows × 14 columns

now we are working at country level

In [19]:
cases_countries_df.copy().drop(
    ['Lat', 'Long_','Last_Update'],axis = 1).sort_values('Confirmed', ascending = False).reset_index(drop=True).style.bar(
align = "left", width=198, color= '#ff781c')
Out[19]:
Country_Region Confirmed Deaths Recovered Active Incident_Rate People_Tested People_Hospitalized Mortality_Rate UID ISO3
0 US 5254878.000000 167253.000000 1774648.000000 3312981.000000 1594.966851 3.182814 840 USA
1 Brazil 3224876.000000 105463.000000 2521100.000000 598313.000000 1517.164550 3.270296 76 BRA
2 India 2461190.000000 48040.000000 1751555.000000 661595.000000 178.346535 1.951901 356 IND
3 Russia 910778.000000 15467.000000 721473.000000 173838.000000 624.100709 1.698218 643 RUS
4 South Africa 572865.000000 11270.000000 437617.000000 123978.000000 965.903985 1.967305 710 ZAF
5 Peru 507996.000000 25648.000000 341938.000000 140410.000000 1540.696266 5.048859 604 PER
6 Mexico 505751.000000 55293.000000 406583.000000 43875.000000 395.760195 10.932850 484 MEX
7 Colombia 433805.000000 14145.000000 250494.000000 169166.000000 852.555842 3.260682 170 COL
8 Chile 380034.000000 10299.000000 353131.000000 16604.000000 1988.019696 2.710021 152 CHL
9 Iran 338825.000000 19331.000000 293811.000000 25683.000000 403.396937 5.705305 364 IRN
10 Spain 337334.000000 28605.000000 150376.000000 158353.000000 721.496237 8.479726 724 ESP
11 United Kingdom 315600.000000 46791.000000 1479.000000 267330.000000 464.897006 14.826046 826 GBR
12 Saudi Arabia 294519.000000 3303.000000 260393.000000 30823.000000 845.981861 1.121490 682 SAU
13 Pakistan 287300.000000 6153.000000 265215.000000 15932.000000 130.063366 2.141664 586 PAK
14 Argentina 276072.000000 5362.000000 192434.000000 78276.000000 610.835831 1.942247 32 ARG
15 Bangladesh 271881.000000 3591.000000 156623.000000 111667.000000 165.087145 1.320798 50 BGD
16 Italy 252235.000000 35231.000000 202923.000000 14081.000000 417.180572 13.967530 380 ITA
17 Turkey 245635.000000 5912.000000 228057.000000 11666.000000 291.246997 2.406823 792 TUR
18 France 244096.000000 30392.000000 83612.000000 130092.000000 373.958735 12.450839 250 FRA
19 Germany 222557.000000 9229.000000 200266.000000 13062.000000 265.632037 4.146803 276 DEU
20 Iraq 164277.000000 5641.000000 117208.000000 41428.000000 408.420630 3.433834 368 IRQ
21 Philippines 153660.000000 2442.000000 71405.000000 79813.000000 140.224930 1.589223 608 PHL
22 Indonesia 135123.000000 6021.000000 89618.000000 39484.000000 49.400852 4.455940 360 IDN
23 Canada 123184.000000 9063.000000 109260.000000 4861.000000 325.404083 7.357287 124 CAN
24 Qatar 114281.000000 190.000000 110957.000000 3134.000000 3966.630337 0.166257 634 QAT
25 Kazakhstan 101848.000000 1269.000000 78633.000000 21946.000000 542.416729 1.245974 398 KAZ
26 Ecuador 98343.000000 6010.000000 78957.000000 13376.000000 557.403308 6.111264 218 ECU
27 Bolivia 96459.000000 3884.000000 33720.000000 58855.000000 826.340790 4.026581 68 BOL
28 Egypt 96108.000000 5107.000000 56890.000000 34111.000000 93.915631 5.313814 818 EGY
29 Israel 90472.000000 657.000000 66151.000000 23664.000000 1045.249511 0.726192 376 ISR
30 Ukraine 89917.000000 2042.000000 48288.000000 39587.000000 205.600895 2.270983 804 UKR
31 China 89192.000000 4700.000000 82901.000000 1591.000000 6.349648 5.269531 156 CHN
32 Sweden 83852.000000 5776.000000 78076.000000 830.277832 6.888327 752 SWE
33 Dominican Republic 83134.000000 1393.000000 47946.000000 33795.000000 766.360027 1.675608 214 DOM
34 Oman 82531.000000 551.000000 77278.000000 4702.000000 1616.156434 0.667628 512 OMN
35 Panama 78446.000000 1722.000000 52210.000000 24514.000000 1818.081528 2.195141 591 PAN
36 Belgium 76191.000000 9916.000000 17913.000000 48362.000000 657.407459 13.014661 56 BEL
37 Kuwait 74486.000000 489.000000 66099.000000 7898.000000 1744.172841 0.656499 414 KWT
38 Belarus 69203.000000 599.000000 66178.000000 2426.000000 732.359500 0.865569 112 BLR
39 Romania 68046.000000 2904.000000 31920.000000 33222.000000 353.712053 4.267701 642 ROU
40 United Arab Emirates 63489.000000 358.000000 57372.000000 5759.000000 641.925504 0.563877 784 ARE
41 Netherlands 62406.000000 6187.000000 253.000000 55966.000000 364.204625 9.914111 528 NLD
42 Guatemala 60284.000000 2296.000000 48305.000000 9683.000000 336.489490 3.808639 320 GTM
43 Singapore 55580.000000 27.000000 50736.000000 4817.000000 950.029767 0.048579 702 SGP
44 Poland 55319.000000 1858.000000 38362.000000 15099.000000 146.166347 3.358701 616 POL
45 Portugal 53548.000000 1770.000000 39177.000000 12601.000000 525.149933 3.305446 620 PRT
46 Japan 53318.000000 1074.000000 36191.000000 16053.000000 42.156462 2.014329 392 JPN
47 Honduras 49042.000000 1542.000000 7032.000000 40468.000000 495.143271 3.144244 340 HND
48 Nigeria 48116.000000 966.000000 34309.000000 12841.000000 23.341465 2.007648 566 NGA
49 Bahrain 45726.000000 167.000000 42180.000000 3379.000000 2687.262390 0.365219 48 BHR
50 Ghana 41725.000000 223.000000 39495.000000 2007.000000 134.280803 0.534452 288 GHA
51 Kyrgyzstan 41373.000000 1491.000000 33592.000000 6290.000000 634.147590 3.603800 417 KGZ
52 Armenia 41299.000000 814.000000 34164.000000 6321.000000 1393.713760 1.970992 51 ARM
53 Morocco 37935.000000 584.000000 26687.000000 10664.000000 102.775471 1.539475 504 MAR
54 Switzerland 37671.000000 1991.000000 32700.000000 2980.000000 435.270511 5.285233 756 CHE
55 Afghanistan 37431.000000 1363.000000 26714.000000 9354.000000 96.153597 3.641367 4 AFG
56 Algeria 37187.000000 1341.000000 26004.000000 9842.000000 84.803000 3.606099 12 DZA
57 Azerbaijan 33915.000000 500.000000 31269.000000 2146.000000 334.494670 1.474274 31 AZE
58 Uzbekistan 33561.000000 218.000000 27213.000000 6130.000000 100.274285 0.649563 860 UZB
59 Venezuela 30369.000000 259.000000 21385.000000 8725.000000 106.797935 0.852843 862 VEN
60 Moldova 29087.000000 878.000000 20276.000000 7933.000000 721.052722 3.018531 498 MDA
61 Serbia 28998.000000 661.000000 28337.000000 331.884766 2.279468 688 SRB
62 Kenya 28754.000000 460.000000 15100.000000 13194.000000 53.474623 1.599777 404 KEN
63 Ireland 26929.000000 1774.000000 23364.000000 1791.000000 545.364774 6.587694 372 IRL
64 Ethiopia 26204.000000 479.000000 11428.000000 14297.000000 22.793305 1.827965 231 ETH
65 Costa Rica 26129.000000 272.000000 8412.000000 17445.000000 512.925309 1.040989 188 CRI
66 Nepal 25551.000000 99.000000 17077.000000 8375.000000 87.693202 0.387460 524 NPL
67 Austria 22876.000000 725.000000 20499.000000 1652.000000 253.997158 3.169260 40 AUT
68 Australia 22743.000000 375.000000 13350.000000 9018.000000 89.329411 1.648859 36 AUS
69 El Salvador 22314.000000 595.000000 10455.000000 11264.000000 344.022641 2.666487 222 SLV
70 Czechia 19401.000000 391.000000 13574.000000 5436.000000 181.165679 2.015360 203 CZE
71 Cameroon 18308.000000 401.000000 15320.000000 2587.000000 68.967429 2.190299 120 CMR
72 Cote d'Ivoire 16889.000000 107.000000 13522.000000 3260.000000 64.026173 0.633548 384 CIV
73 West Bank and Gaza 15834.000000 106.000000 9382.000000 6346.000000 310.384411 0.669445 275 PSE
74 Denmark 15590.000000 621.000000 13370.000000 1599.000000 269.154931 3.983323 208 DNK
75 Bosnia and Herzegovina 15535.000000 469.000000 9344.000000 5722.000000 473.510393 3.018989 70 BIH
76 Korea, South 14873.000000 305.000000 13863.000000 705.000000 29.009629 2.050696 410 KOR
77 Bulgaria 14069.000000 484.000000 8901.000000 4684.000000 202.476957 3.440188 100 BGR
78 Madagascar 13643.000000 164.000000 12011.000000 1468.000000 49.268682 1.202082 450 MDG
79 North Macedonia 12357.000000 532.000000 8662.000000 3163.000000 593.122714 4.305252 807 MKD
80 Sudan 12115.000000 792.000000 6305.000000 5018.000000 27.628739 6.537350 729 SDN
81 Senegal 11872.000000 249.000000 7615.000000 4008.000000 70.903306 2.097372 686 SEN
82 Kosovo 10795.000000 365.000000 6411.000000 4019.000000 596.288264 3.381195 383 XKS
83 Norway 9851.000000 257.000000 8857.000000 737.000000 181.711128 2.608872 578 NOR
84 Congo (Kinshasa) 9605.000000 238.000000 8512.000000 855.000000 10.724486 2.477876 180 COD
85 Malaysia 9149.000000 125.000000 8828.000000 196.000000 28.267319 1.366270 458 MYS
86 Zambia 8663.000000 246.000000 7401.000000 1016.000000 47.122611 2.839663 894 ZMB
87 Paraguay 8389.000000 97.000000 5516.000000 2776.000000 117.616049 1.156276 600 PRY
88 Guinea 8198.000000 50.000000 7120.000000 1028.000000 62.423893 0.609905 324 GIN
89 Gabon 8077.000000 51.000000 5920.000000 2106.000000 362.892501 0.631423 266 GAB
90 Tajikistan 7950.000000 63.000000 6741.000000 1146.000000 83.353936 0.792453 762 TJK
91 Haiti 7810.000000 192.000000 5123.000000 2495.000000 68.493553 2.458387 332 HTI
92 Lebanon 7711.000000 92.000000 2496.000000 5123.000000 112.974369 1.193101 422 LBN
93 Finland 7700.000000 333.000000 7050.000000 317.000000 138.971159 4.324675 246 FIN
94 Luxembourg 7368.000000 122.000000 6414.000000 832.000000 1177.041931 1.655809 442 LUX
95 Libya 7050.000000 135.000000 816.000000 6099.000000 102.600866 1.914894 434 LBY
96 Albania 6971.000000 213.000000 3616.000000 3142.000000 242.233651 3.055516 8 ALB
97 Mauritania 6653.000000 157.000000 5843.000000 653.000000 143.085731 2.359838 478 MRT
98 Greece 6381.000000 221.000000 1347.000000 4813.000000 61.220049 3.463407 300 GRC
99 Croatia 6050.000000 161.000000 5078.000000 811.000000 147.371621 2.661157 191 HRV
100 Maldives 5494.000000 21.000000 2920.000000 2553.000000 1016.387256 0.382235 462 MDV
101 Djibouti 5358.000000 59.000000 5167.000000 132.000000 542.306595 1.101157 262 DJI
102 Zimbabwe 4990.000000 128.000000 1927.000000 2935.000000 33.573468 2.565130 716 ZWE
103 Malawi 4912.000000 153.000000 2550.000000 2209.000000 25.677008 3.114821 454 MWI
104 Hungary 4853.000000 607.000000 3590.000000 656.000000 50.236275 12.507727 348 HUN
105 Equatorial Guinea 4821.000000 83.000000 2182.000000 2556.000000 343.624486 1.721635 226 GNQ
106 Central African Republic 4652.000000 61.000000 1728.000000 2863.000000 96.319406 1.311264 140 CAF
107 Nicaragua 4115.000000 128.000000 2913.000000 1074.000000 62.117389 3.110571 558 NIC
108 Montenegro 3857.000000 73.000000 2680.000000 1104.000000 614.111346 1.892663 499 MNE
109 Congo (Brazzaville) 3745.000000 60.000000 1625.000000 2060.000000 67.867662 1.602136 178 COG
110 Eswatini 3599.000000 65.000000 1991.000000 1543.000000 310.214763 1.806057 748 SWZ
111 Namibia 3544.000000 27.000000 848.000000 2669.000000 139.477259 0.761851 516 NAM
112 Thailand 3376.000000 58.000000 3173.000000 145.000000 4.836678 1.718009 764 THA
113 Somalia 3227.000000 93.000000 1728.000000 1406.000000 20.304257 2.881934 706 SOM
114 Cuba 3174.000000 89.000000 2525.000000 560.000000 28.022491 2.804033 192 CUB
115 Cabo Verde 3073.000000 33.000000 2232.000000 808.000000 552.709771 1.073869 132 CPV
116 Sri Lanka 2882.000000 11.000000 2658.000000 213.000000 13.458956 0.381679 144 LKA
117 Slovakia 2801.000000 31.000000 1944.000000 826.000000 51.303721 1.106748 703 SVK
118 Suriname 2761.000000 40.000000 1830.000000 891.000000 470.651207 1.448750 740 SUR
119 Mozambique 2638.000000 19.000000 1015.000000 1604.000000 8.440132 0.720243 508 MOZ
120 Mali 2597.000000 125.000000 1979.000000 493.000000 12.824163 4.813246 466 MLI
121 South Sudan 2478.000000 47.000000 1175.000000 1256.000000 22.137395 1.896691 728 SSD
122 Slovenia 2369.000000 129.000000 1960.000000 280.000000 113.952741 5.445336 705 SVN
123 Lithuania 2352.000000 81.000000 1691.000000 580.000000 86.397817 3.443878 440 LTU
124 Rwanda 2200.000000 8.000000 1558.000000 634.000000 16.985520 0.363636 646 RWA
125 Estonia 2177.000000 63.000000 1976.000000 138.000000 164.111270 2.893891 233 EST
126 Guinea-Bissau 2088.000000 29.000000 1015.000000 1044.000000 106.097669 1.388889 624 GNB
127 Benin 2014.000000 38.000000 1681.000000 295.000000 16.612778 1.886792 204 BEN
128 Iceland 1983.000000 10.000000 1861.000000 112.000000 581.098901 0.504286 352 ISL
129 Sierra Leone 1940.000000 69.000000 1496.000000 375.000000 24.319966 3.556701 694 SLE
130 Yemen 1847.000000 528.000000 949.000000 370.000000 6.192590 28.586898 887 YEM
131 Tunisia 1847.000000 53.000000 1302.000000 492.000000 15.627885 2.869518 788 TUN
132 Angola 1815.000000 80.000000 577.000000 1158.000000 5.522379 4.407713 24 AGO
133 New Zealand 1602.000000 22.000000 1531.000000 49.000000 33.221124 1.373283 554 NZL
134 Gambia 1556.000000 43.000000 267.000000 1246.000000 64.386278 2.763496 270 GMB
135 Syria 1432.000000 55.000000 395.000000 982.000000 8.182550 3.840782 760 SYR
136 Uruguay 1409.000000 37.000000 1180.000000 192.000000 40.561622 2.625976 858 URY
137 Uganda 1353.000000 11.000000 1141.000000 201.000000 2.957959 0.813008 800 UGA
138 Jordan 1320.000000 11.000000 1222.000000 87.000000 12.937194 0.833333 400 JOR
139 Latvia 1308.000000 32.000000 1078.000000 198.000000 69.345701 2.446483 428 LVA
140 Georgia 1306.000000 17.000000 1085.000000 204.000000 32.738599 1.301685 268 GEO
141 Cyprus 1305.000000 20.000000 870.000000 415.000000 108.086976 1.532567 196 CYP
142 Malta 1276.000000 9.000000 762.000000 505.000000 288.989195 0.705329 470 MLT
143 Liberia 1252.000000 82.000000 738.000000 432.000000 24.754448 6.549521 430 LBR
144 Burkina Faso 1228.000000 54.000000 997.000000 177.000000 5.874677 4.397394 854 BFA
145 Botswana 1214.000000 3.000000 120.000000 1091.000000 51.623877 0.247117 72 BWA
146 Niger 1161.000000 69.000000 1075.000000 17.000000 4.796205 5.943152 562 NER
147 Togo 1104.000000 26.000000 791.000000 287.000000 13.335367 2.355072 768 TGO
148 Bahamas 1089.000000 15.000000 138.000000 936.000000 276.924485 1.377410 44 BHS
149 Jamaica 1071.000000 14.000000 754.000000 303.000000 36.168246 1.307190 388 JAM
150 Andorra 981.000000 53.000000 858.000000 70.000000 1269.656377 5.402650 20 AND
151 Chad 949.000000 76.000000 860.000000 13.000000 5.777476 8.008430 148 TCD
152 Vietnam 929.000000 21.000000 430.000000 478.000000 0.954401 2.260495 704 VNM
153 Lesotho 884.000000 25.000000 271.000000 588.000000 41.264987 2.828054 426 LSO
154 Sao Tome and Principe 883.000000 15.000000 808.000000 60.000000 402.900151 1.698754 678 STP
155 Diamond Princess 712.000000 13.000000 651.000000 48.000000 1.825843 9999
156 San Marino 699.000000 42.000000 657.000000 0.000000 2059.638164 6.008584 674 SMR
157 Guyana 631.000000 22.000000 202.000000 407.000000 80.222844 3.486529 328 GUY
158 Tanzania 509.000000 21.000000 183.000000 305.000000 0.852108 4.125737 834 TZA
159 Taiwan* 481.000000 7.000000 450.000000 24.000000 2.019585 1.455301 158 TWN
160 Burundi 410.000000 1.000000 315.000000 94.000000 3.448049 0.243902 108 BDI
161 Trinidad and Tobago 404.000000 8.000000 139.000000 257.000000 28.867638 1.980198 780 TTO
162 Comoros 399.000000 7.000000 379.000000 13.000000 45.883428 1.754386 174 COM
163 Burma 369.000000 6.000000 321.000000 42.000000 0.678187 1.626016 104 MMR
164 Mauritius 344.000000 10.000000 334.000000 0.000000 27.048980 2.906977 480 MUS
165 Mongolia 297.000000 0.000000 269.000000 28.000000 9.059596 0.000000 496 MNG
166 Belize 296.000000 2.000000 32.000000 262.000000 74.442748 0.675676 84 BLZ
167 Eritrea 285.000000 0.000000 248.000000 37.000000 8.036257 0.000000 232 ERI
168 Cambodia 273.000000 0.000000 225.000000 48.000000 1.632876 0.000000 116 KHM
169 Papua New Guinea 271.000000 3.000000 78.000000 190.000000 3.028939 1.107011 598 PNG
170 Barbados 144.000000 7.000000 118.000000 19.000000 50.109440 4.861111 52 BRB
171 Monaco 144.000000 4.000000 114.000000 26.000000 366.935073 2.777778 492 MCO
172 Brunei 142.000000 3.000000 138.000000 1.000000 32.458404 2.112676 96 BRN
173 Bhutan 128.000000 0.000000 100.000000 28.000000 16.588648 0.000000 64 BTN
174 Seychelles 127.000000 0.000000 126.000000 1.000000 129.143787 0.000000 690 SYC
175 Antigua and Barbuda 93.000000 3.000000 83.000000 7.000000 94.967731 3.225806 28 ATG
176 Liechtenstein 90.000000 1.000000 87.000000 2.000000 235.991295 1.111111 438 LIE
177 Saint Vincent and the Grenadines 57.000000 0.000000 55.000000 2.000000 51.375882 0.000000 670 VCT
178 Fiji 28.000000 1.000000 20.000000 7.000000 3.123452 3.571429 242 FJI
179 Saint Lucia 25.000000 0.000000 25.000000 0.000000 13.614407 0.000000 662 LCA
180 Timor-Leste 25.000000 0.000000 24.000000 1.000000 1.896177 0.000000 626 TLS
181 Grenada 24.000000 0.000000 23.000000 1.000000 21.329731 0.000000 308 GRD
182 Laos 22.000000 0.000000 19.000000 3.000000 0.302382 0.000000 418 LAO
183 Dominica 18.000000 0.000000 18.000000 0.000000 25.003125 0.000000 212 DMA
184 Saint Kitts and Nevis 17.000000 0.000000 17.000000 0.000000 31.959693 0.000000 659 KNA
185 Holy See 12.000000 0.000000 12.000000 0.000000 1483.312732 0.000000 336 VAT
186 Western Sahara 10.000000 1.000000 8.000000 1.000000 1.674116 10.000000 732 ESH
187 MS Zaandam 9.000000 2.000000 7.000000 22.222222 8888

if you see in the above table , united states has the mostnumber of confirmed cases and second is brazil and then third is india whereas in the recovery rate us is number one and india is number 2 .

In [ ]: